Call handling logic

ABSTRACT

A method for routing calls in a communication system comprising a network and a plurality of terminals associated with a single subscriber identity, the method comprising: receiving a request to establish a call from a first terminal to the subscriber identity; retrieving from a subscriber information store a set of weighting parameters for the subscriber identity, each of the terminals associated with the subscriber having at least one of the weighting parameters of the set associated with it; determining an order in which to route the call to the terminals based on the weighting parameters; and routing the call to the terminals in that order until the call is terminated or is answered by one of the terminals.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to logic for handling calls, and especially forrouting calls, in a communication system.

2. Description of the Related Art

In modern telecommunications networks, for instance UMTS (universalmobile telecommunication system) networks, an individual subscriber mayhave a plurality of terminals that are registered to a single network.For instance, the subscriber may have a mobile phone, a home phone, ananswering machine and an office phone. When a call is made to thesubscriber there is a need for the network to route the call to theappropriate terminal. The network could direct the call to each of theterminals in turn; if there is no answer at one of the terminals thenthe call can be directed to the next terminal until an answer is had.

Depending on the subscriber's circumstances when the call is made he mayprefer the call to be directed to a certain one of the terminals. Forexample, if the subscriber is at home his home phone may be hispreferred means of answering the call; if he is travelling to the officehis mobile phone may be preferred; and in the office his office phonemay be preferred. Each time the user's preference changes he could senda message to the network to inform the network which of his terminals isnow his preferred means of answering calls. However, this would behighly inconvenient for the user since he might frequently have to sendsuch messages.

The subscriber could program the network with a static preset schemedefining the order in which to route an incoming call to the user'sterminals. The call could be routed to the terminals one-by-one in thatorder until it is answered. However, if several terminals are triedunsuccessfully in this way then a considerable amount of time mightelapse before the call is routed to the right terminal. This delays thecompletion of the call, and the calling party might even hang up if thedelay is too long.

There is therefore a need for an improved means of determining which ofa user's terminals to route calls to.

SUMMARY OF THE INVENTION

According to one aspect of the present invention there is provided amethod for routing calls in a communication system comprising a networkand a plurality of terminals associated with a single subscriberidentity, the method comprising: receiving a request to establish a callfrom a first terminal to the subscriber identity; retrieving from asubscriber information store a set of weighting parameters for thesubscriber identity, each of the terminals associated with thesubscriber having at least one of the weighting parameters of the setassociated with it; determining an order in which to route the call tothe terminals based on the weighting parameters; and routing the call tothe terminals in that order until the call is terminated or is answeredby one of the terminals.

Preferably each of the terminals associated with the subscriber has atleast two of the weighting parameters of the set associated with it.Most preferably each of the terminals associated with the subscriber hasat least one weighting parameter associated with it in correspondencewith another item of data. The item of data could be the current time ofday, day of the week, month of the year, type of the call, or thelocation of at least one of the terminals associated with thesubscriber.

Preferably the determining step comprises establishing the current valueof the item of data and determining an order in which to route the callto the terminals based on the weighting parameters corresponding to thecurrent value of the

Suitably the subscriber information store stores terminal type dataindicating that at least one of the terminals associated with thesubscriber is an automated answering device, and the determining stepcomprises determining on the basis of that terminal type data that thatterminal is last in the order. Such terminal type data may be providedto the network by the subscriber or determined automatically by thenetwork from the characteristics of the respective terminal. Theautomated answering device could be a user terminal such as a homeanswering machine, or could be a network device such as a network voicemail unit.

Suitably the method comprises the step of: when the call has beenanswered modifying the weighting parameters to increase the likelihoodthat the terminal at which the call was answered will be the terminal towhich a subsequent call will be routed first. That modification may alsobe dependant on one or more parameters of the calls. Thus, suitably themethod comprises the step of: when the call has been answered modifyingthe weighting parameters to increase the likelihood that the terminal atwhich the call was answered will be the terminal to which a subsequentcall having at least one parameter in common with the call will berouted first. The parameter may be the time of day at which the callswere made, and suitably whether it falls within one or morepredetermined windows of time (e.g. each having a duration of one hour);the originator of the calls, or whether the originator falls within aset of originators (e.g. originators having part of their phone numbersin common); or the type of the calls (e.g. whether they are voice, dataor fax calls).

Conveniently, the weighting parameters are at least partially determinedon the basis of data provided to the system by the subscriber. Such dataprovided to the system by the subscriber can be provided in the form ofa form.

The weighting parameters may express a plurality of conditional rulesdetermining the order in which the call is to be routed to the terminalsof the set. Alternatively, the weighting parameters may be neuralnetwork weighting parameters and the determining step is performed byneural network processing of the parameters. Both types of weightingparameters could be used.

Suitably the call is routed by means of the SIP protocol.

The method may comprise terminating the call once it has been routed toall the terminals of the set.

If the same weighting is determined for two or more of the terminals(indicating that a single preferred terminal was not found) then thecall may be forked in parallel to all of them. Alternatively, the callmay be routed to each one of them in turn according to a predeterminedscheme for resolving conflicts of that sort.

The method may comprise the step of routing the call to one of theterminals, waiting for a predetermined period of time for the call to beanswered at that terminal and then routing the call to the next terminalin the order. Alternatively the routing list could be presented to thecaller and the caller may select his/her preferred destination.

According to another aspect of the invention there is provided acommunication system comprising: a plurality of terminals associatedwith a single subscriber identity; and a network comprising: a routerarranged to receive a request to establish a call from a first terminalto the subscriber identity; a routing logic unit arranged to retrievefrom a subscriber information store a set of weighting parameters forwith the subscriber identity, there being at least one weightingparameter associated with each of the terminals associated with thesubscriber; and to determine an order in which to route the call to theterminals based on the weighting parameters; and to control the routerto route the call to the terminals in that order until the call isanswered by one of the terminals.

According to another aspect of the invention there is provided a methodfor routing calls in a communication system comprising a network and aplurality of terminals associated with a single subscriber identity, themethod comprising: receiving a request to establish a call from a firstterminal to the subscriber identity; retrieving from a subscriberinformation store a list of the terminals associated with the subscriberidentity; transmitting the list to the first terminal; receiving amessage from the first terminal indicating an order in which the call isto be routed to two or more of the terminals in the list; and routingthe call to the terminals in accordance with the indicated order.

According to another aspect of the invention there is provided acommunication terminal capable of originating calls to other terminalsand comprising: an address store for storing addresses of otherterminals; a user interface for presenting the addresses to a userwhereby the user can select one of the addresses for originating a callto that address; and a user interface controller for controlling theuser interface to set the order in which the addresses are presented tothe user, the user interface controller comprising a fuzzy logicprocessing arrangement arranged to correlate the addresses to whichcalls are originated with at least one other parameter and to set theorder based on the result of that correlation.

According to another aspect of the invention there is provided a routingcontrol unit for a communication system comprising: a plurality ofterminals associated with a single subscriber identity; and a networkcomprising: a router arranged to receive a request to establish a callfrom a first terminal to the subscriber identity; and a routing logicunit arranged to retrieve from a subscriber information store a set ofweighting parameters for use with the subscriber identity, there beingat least one weighting parameter associated with each of the terminalsassociated with the subscriber; and to determine an order in which toroute the call to the terminals based on the weighting parameters; andto control the router to route the call to the terminals in that orderuntil the call is answered by one of the terminals; the routing controlunit being arranged to set the weighting parameters in dependence onpast answering of calls by the terminals.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will now be described by way of example withreference to the accompanying drawing, in which:

FIG. 1 is a schematic diagram of a communication system; and

FIG. 2 is a signalling diagram illustrating routing of a call.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 shows a communication system. The communication system comprisesa network shown generally at 1 connected to a series of terminals 2, 3,4, 5 etc. Each of the terminals is capable of communicating with otherterminals by way of the network. Each terminal may have a uniqueidentity stored in a respective identification module 6. The terminalinforms the network of its identity, and calls can be routed to theterminal by the network on the basis of that identity. If the terminaldoesn't have the identification module the user identification may bedone on the application level using appropriate authentication methods.The network includes a subscriber database 7 a and a service database 7b. The subscription and service details of each subscriber to thenetwork are stored in the subscriber and service databases,respectively. Those details can include a common address (e.g. atelephone number) for that subscriber, and a list of used identitiesassociated with that subscriber. These identities may vary from aliasnames to additional subscriber identities (which may belong to other endusers also). The network also includes a routing control unit 8. Therouting control unit routes calls addressed to a destination address tothe appropriate terminal or to the terminating network. The choice ofwhich terminal or network the call should be routed to is made by arouting logic unit 9. The routing is performed by a router 10. Therouting logic unit 9 is connected to the subscriber and servicedatabases for reading information from the databases, and to the router10 for determining information on incoming calls and for controlling therouter.

The router may be, for example, the S-CSCF as defined in the 3GPPstandards or it can be any network element performing switching orrouting.

If a protocol such as SIP is used then instead of controlling router 10directly, the routing logic unit 8 could control a SIP server fortransmitting the appropriate SIP messages to terminals to set up thedesired routing arrangement. In this situation the router would beresponsive to information transmitted by the terminals in theircommunications.

When a call is made to a terminal in the network—either from anotherterminal in the network, or from a terminal in another network such asnetwork 11—the call is passed to router 10 of routing control unit 8.The routing logic unit 9 determines from the router 10 the destinationaddress of the call, which represents the address of a subscriber to thenetwork. The routing logic unit 9 interrogates the subscriber databaseand the service database for information on that subscriber andprocesses that information together with information from anenvironmental information unit 12 to determine which terminal to routethe call to. The processing used by the routing logic unit is describedin more detail below. If the subscriber has more than one terminal thenthe routing logic unit may control the router to route the call to eachof those terminals in turn or parallel. Typically, the activities of therouting logic unit to route a call will end when the call is answered,the call is terminated by the calling party, the call has been routed toall the terminals of the subscriber to which it is addressed, or therouting process times out.

The environmental information unit 12 provides information onenvironmental conditions, such as the current time of day, day of theweek and month. It could also provide information on factors such aswhether it is currently a public holiday or it could retrieve relevantinformation from external sources. The environmental information unitincludes a clock and suitable mechanisms whereby it can amass thisinformation.

The routing control unit 8 also includes a feedback unit 13. Thefeedback unit monitors the routing process, receiving information fromthe router 10, the environmental information unit 12 and the routinglogic unit 9, and based on what it detects it feeds back parameters tothe service database. Those parameters are then used by the routinglogic unit 9 for determining how to route subsequent calls.

The routing and feedback procedures will now be described in moredetail.

A neural network procedure is employed, whereby the network effectivelylearns the subscriber's preferences. For each of the subscriber'sterminals the service database stores one or more weighting values whichare determined at least partially by the feedback unit 13 based on thepast incidence of calls having been answered at the respective terminal.The weighting values may also carry information on the incidence ofcalls being answered at the respective terminal in conjunction withother factors such as the type of the call and information from theenvironmental information unit. To determine where to route a call therouting logic unit 9 applies those factors to determine in which orderto route the call to the terminals. A neural network arrangement ispreferably used to set and use the factors.

The objective of the procedure is to determine, based on the informationavailable to the routing unit, at which of the user's terminals anincoming call is most likely to be answered, and to route the call tothat terminal first.

In the most simple arrangement there is a single factor for each of thesubscriber's terminals, representing the past incidence of calls havingbeen answered at that terminal. When an incoming call is received it isfirst routed to the terminal having the highest incidence of callshaving been answered. If after a predetermined time period the call isnot answered there then it is routed to the terminal having the nexthighest incidence. This is repeated until the call has been routed toall the terminals or has been answered. Other factors may cause theprocess to terminate: typically the termination of the call by thecalling party. If the call is not answered at any of the user'sterminals it may be routed to a voicemail unit 14 within the network 1.

To set the factors, when a call is answered the feedback unit boosts thefactor of the terminal at which the call is answered in conjunction withany other currently sensed data and correspondingly reduces the factorsof the subscriber's other terminals in conjunction with that data.

In more complex arrangements there can be additional factors to holdinformation on the likelihood of calls being answered in conjunctionwith other sensed data. The other sensed data may be informationdetermined from:

the call itself—for example the type of the call including media types(e.g. voice, data, fax, video, gaming, conference, chat, instantmessage, SMS, MMS), the subject of the call, the identity of the calleror any other suitable parameter provided by the protocol;

-   -   information derived from or retrieved by the environmental        information unit 12—for example the time of day, the day of the        week, the month, the season and whether it is a public holiday;    -   subscriber status variables stored in the store 7 b—these could        be set by the subscriber to indicate his status, for instance        whether he is on holiday;    -   information on the subscriber's terminals as determined from the        network 1 itself—these could include whether a terminal is        currently engaged in a call, whether it is roaming in another        network, the geographical location of any of the subscriber's        mobile terminals as determined by a location server 15, the        address to which the subscriber last originated a call,        information derived from a presence server 17 (describing the        preferred contacting methods and media types for a subscriber).

The weighting factors could be applied in accordance with this data inthe normal ways used for neural network processing.

The location server is capable of determining the location of terminalsin the normal way. Typically a subscriber will often carry his mobilephone with him. Thus, when the subscriber is in his office and mayprefer to answer calls using his office phone, his mobile phone will belocated at his office. Thus the location of one terminal (the mobilephone) may provide information to the network that helps to indicatethat the subscriber is likely to want to answer a call using anotherterminal (the office phone).

The subscriber could define a set of groups of callers, and the factorscould support a dependence of the routing scheme on the group (if any)to which an incoming caller belongs. This could allow the subscriber tohave the network route calls differently depending on whether the calleris in a group of, for instance, personal or work contacts.

A very simplified example of the operation of the method will bedescribed with reference to table 1.

TABLE 1 11 am-12 pm 12 pm-1 pm 1 pm-2 pm Terminal 1 .1 .6 .3 Terminal 2.7 .3 .5 Terminal 3 .2 .1 .2

Table 1 shows a set of factors corresponding to terminals 1, 2 and 3 inconjunction with three time periods: 11 am-12 pm, 12 pm-1 pm and 1 pm-2pm. The factors indicate the past incidence of calls having beenanswered at the respective terminal in the respective time period. Ahigher factor indicates a greater incidence. Suppose an incoming call isreceived at 1:30 pm. The routing logic unit 9 determines the currenttime from the environmental information unit and either calculates thefactors using the neural network node values and the correspondingalgorithms or uses a pre-calculated set of factors (corresponding to theright-hand column of the table). Both the neural network node values andthe pre-calculated values are retrieved from the service database. Thehighest of those factors corresponds to terminal 2, so the routing logicunit causes the router 10 to route the call to terminal 2. If the callis not answered there then within a set period such as 15 seconds thecall is routed to the terminal corresponding to the next highest factor:terminal 1. Suppose the call is answered at terminal 1. The feedbackunit 13, which has been monitoring the routing process boosts the factorappropriate to the prevailing environmental conditions (here, the timeof day) and the terminal at which the call was answered, and reduces thefactors appropriate to the prevailing environmental conditions and theterminals at which the call was not answered. The resulting factorscould be as shown in table 2.

TABLE 2 11 am-12 pm 12 pm-1 pm 1 pm-2 pm Terminal 1 .1 .6 .35  Terminal2 .7 .3 .475 Terminal 3 .2 .1 .175

More factors could be used in order to take account of data on otherenvironmental conditions etc. The combination of those weighting factorscould be done by normal neural network programming.

In addition to the factors being set by means of the feedback unit'smonitoring of successful and unsuccessful routing operations, thefactors could be set by more direct means. For example, before, duringor after a call has been completed the network could send a message tothe subscriber to ask whether the call was answered at the terminal hewould have preferred. The factors could be modified based on theresponse. After a call has been completed the network could send amessage to the terminal at which the call was answered requestingwhether the user who answered the call was the right person to bereached. In response to that message, information about the correctnessof the routing could be returned to the network and the feedback that isapplied could be dependent on that response: if the call was notanswered by the right person then the factor for the terminal at whichit was answered may be reduced. The question about the correctness ofthe routing can also be asked from the caller and this information maybe used as input for the feedback unit.

If any of the terminals are answering machines then they will generallyanswer any calls directed to them. Therefore, the subscriber or servicedatabase preferably has provision for storing an indication of whether aterminal is an answering machine so as to exclude it from the neuralnetwork process. Terminals having such an indication are preferably thelast to have the call routed to them.

The list of a subscriber's terminals may also include call diversionaddresses, for instance phone numbers, corresponding to terminals inother networks. The diversion scheme can be learned by the network byfollowing the user redirecting interactively unwanted incoming calls.This works only for the terminals capable of redirection mechanisms.Preferably, the network learns this new redirection information onlywhen the redirection is done to one of the pre-configured numbers.

The extent to which the factors are changed after a call has beenanswered or unanswered may depend on information such as the time takento answer the call and the amount of learning that has already been donefor that subscriber. Suitably, the longer the period between routing acall to a terminal and the call being answered at that terminal, theless the factor(s) corresponding to that terminal is(are) boosted forits answering of the call. Suitably, the extent to which themodification is made reduces as the amount of learning that has beendone increases.

The feedback unit 13 could potentially consume a considerable amount ofprocessing resources. To reduce the amount of processing that is needed,the feedback unit could be disabled in respect of a particularsubscriber once it has set the factors during an initial learning periodfor that subscriber. The system could also provide the facility for asubscriber to disable the feedback unit in respect of his calls duringperiods when he is not answering calls in accordance with his normalroutine—for example when he is on holiday.

The initial values of the factors may by equal, or to accelerate thenetwork's learning process the factors could be preset based on inputfrom the subscriber regarding the subscriber's preferences. The initialinput may be provided by the user completing a form, preferably using anappliance such as a web browser connected to the network. Alternatively,during an initial training period the subscriber could send a message tothe network each time he changes his preferred terminal to inform thenetwork what his new preferred terminal is; and at the end of thetraining period the network could store factors corresponding to thepreferences indicated by the subscriber. The factors could similarly beestimated by the network identifying the terminal from which thesubscriber originates calls from time to time and taking that terminalto be the one on which the subscriber would prefer to receive calls. Thesystem may provide the facility for a subscriber to reset his factors toinitial values. This may be useful to accelerate the training of thesystem if the user's lifestyle changes suddenly. The network couldprovide an interface, for instance a web interface, to allow asubscriber to edit his factors directly or indirectly.

As indicated above, after directing the call to a terminal the networkwaits for a period so that the call can be answered there. During thatperiod the network preferably triggers an alerting mode of the terminalby transmitting an alert message to the terminal. Thus, the terminalcould ring during that period. The length of the period could be presetin the network to, for instance, 15 or 20 seconds. This value can beconfigured by the user.

A similar procedure could be applied to originating calls. This could bedone by means of similar neural network parameters for originatingservice in the network, or the user terminal could learn to whichaddresses (e.g. telephone numbers) the user is most likely to originatecalls under certain environmental conditions (e.g. time of day and/orlocation of the terminal). Then, when a user wishes to initiate a callthe terminal or network service could first prompt the user with theaddresses determined to have been called most often using thissubscription under the currently prevailing conditions. To enable asystem of this type, the factors could be stored in a memory at theterminal itself (e.g. memory 16) or as part of the subscriber's recordin the service database 7 b. An advantage of the latter mode of storageis that the data could be accessed by whichever terminal the subscribermakes the call from.

When a subscriber is roaming in a visiting network the visiting networkcould contact his home network to determine the routing information forcalls.

Instead of the network learning the parameters, as described above, theparameters could be set solely by the subscriber's programming. Meansfor achieving this can be as described above. In this case, it ispreferred that the network can interpret preferences indicated by theuser by means of fuzzy logic statements. For the user to provide hispreferences to the network it is preferred that the network offers aform-based programming interface, for example using a web server. Theinterface preferably provides the user with a list of available teststhat can be applied in relation to an incoming call and availableactions to be taken in relation to the call. in this scheme alsooriginating side routing rules can be applied. This mechanism alsoprovides usage of a wider range of parameters.

Examples of the tests are as follows:

-   -   Is cost of call greater than a set amount?    -   Is cost per unit time of the call greater than a set amount?    -   Is the time of day between one set time and another?    -   Is an importance flag of the call set to high?    -   Is the call of a set type?    -   Is the call originated by a set subscriber or a subscriber who        is a member of a set group of subscribers?    -   Is the determined location of one of the subscriber's terminals        within or outside a set area?

The tests may be linked with Boolean expressions such as AND, OR, andNOT.

Examples of the actions are as follows:

-   -   Route the call to a set one of the subscriber's terminals        (including virtual terminals such as diverts or voice mail        devices), or to the subscriber's terminals in a set order.    -   Carry the call with quality of service (QoS) parameters in a set        range.    -   Route the call via a set network.    -   Route the call via a network of a set type, for instance the        cheapest network.

These tests and actions are parsed into rule statements by thesubscriber, and the details of those statements are stored in thesubscriber's record in the service database 7 b. When a call to thesubscriber reaches the routing control unit 8 the routing logic unit 9retrieves the details from the subscriber's record and applies theappropriate control to the router and, if necessary, other parts of thecommunication system in order to handle the call as set by thesubscriber. If necessary, the subscriber can set priorities to each ruleso that the network could select just one routing destination ifmultiple destinations exist after fuzzy calculations. If this method isused in conjunction with the neural network method described above thenthis method preferably takes priority in the event of any conflictbetween the routing rules.

Examples of rule statements that can be parsed by the user are:

-   -   “If price of call is greater than 20 c per minute and time of        day is between 9 pm and 6 am then use QoS parameter less than 2”    -   “If call's importance flag is set then route calls to terminal 1        [subscriber's mobile phone]”    -   “If location is more than 10 km from x [subscriber's office        location] then route calls to terminal 1”    -   “If call type is multimedia and importance flag is not set then        route call via cheapest route”

FIG. 2 shows an example of signalling to perform routing of the typedescribed above using SIP. In FIG. 2, terminals 20, 21, 22 couldcorrespond to terminals 2, 3, 4, 5 in FIG. 1. SIP server 23 performsprocessing of SIP messages for call set-up. Fuzzy logic serviceapplication 24 is embodied in routing logic unit 9 of FIG. 1. Fuzzylogic storage 25 is embodied in the service data store 7 b of FIG. 1.Location server 26 corresponds to location server 15 of FIG. 1.

In operation, the terminals 20, 21, 22 for subscriber Bill register withthe network by communicating in the normal way with SIP server 23. (See30, 31, 32). Then a SIP INVITE message is received by the SIP server.(See 33). The INVITE message specifies subscriber Monica as the Asubscriber and subscriber Bill as the B subscriber for the desired call.In response to the INVITE message the SIP unit transmits a routingrequest message 34 to the fuzzy logic service application to requestadvice on how to route the call. The routing request message includesdetails of the A and B subscribers and the type of the call. The fuzzylogic service unit retrieves (at 35) from the fuzzy logic storage 25details of the B subscriber's routing settings. If these settingsinclude dependence of routing on location then the fuzzy logic serviceunit also determines the location of the B subscriber's terminal(s) fromthe location server 26. (See 36). The fuzzy logic service applicationthen processes the settings and the other information that it has inorder to determine how the call should be handled. (See 37). Based onthat processing the fuzzy logic service application returns a controlmessage 38 to the SIP server to inform the SIP server how the call is tobe handled. In this case the control message indicates that the call isto be routed to the B subscriber's terminal 21. The SIP server thenproceeds in accordance with the control message, in this case sending aSIP INVITE message to terminal 21. (See 39). Then the set-up of the callcontinues as normal.

The calls may be circuit switched calls or packet switched calls, forexample using voice over IP (internet protocol). The calls may be voiceand/or data calls.

As indicated above, the terminals may be capable of signalling accordingto the SIP protocol.

The applicant draws attention to the fact that the present invention mayinclude any feature or combination of features disclosed herein eitherimplicitly or explicitly or any generalisation thereof, withoutlimitation to the scope of any of the present claims. In view of theforegoing description it will be evident to a person skilled in the artthat various modifications may be made within the scope of theinvention.

1. A method for routing calls, the method comprising: receiving arequest to establish a call from a first terminal to a subscriberidentity; retrieving from a subscriber information store a set ofweighting parameters for the subscriber identity, wherein each of aplurality of terminals that is associated with the subscriber isadditionally associated with at least one of the weighting parameters ofthe set of weighting parameters; determining an order in which to routethe call to the plurality of terminals based on the set of weightingparameters; and routing the call to the plurality of terminals accordingto the order until the call is terminated or is answered by one of theplurality of terminals, wherein each of the terminals that is associatedwith the subscriber is additionally associated with at least oneweighting parameter in correspondence with another item of data, whereinthe item of data represents a type of call, and wherein the calls arerouted in a communication system, and the communication system includesa network and the plurality of terminals associated with a singlesubscriber identity.
 2. A method as claimed in claim 1, wherein each ofthe terminals associated with the subscriber has at least two of theweighting parameters of the set associated with the plurality ofterminals.
 3. A method as claimed in claim 1, wherein the determiningstep comprises establishing a current value of the item of data anddetermining the order in which to route the call to the plurality ofterminals based on the weighting parameters corresponding to the currentvalue of the item of data.
 4. A method as claimed in claim 1, whereinthe subscriber information store stores terminal type data indicatingthat at least one of the plurality of the terminals associated with thesubscriber is an automated answering device, and the determining stepcomprises determining based upon the terminal type data indicating alast terminal is last in the order.
 5. A method as claimed in claim 1,comprising the step of: when the call has been answered, modifying theset of weighting parameters to increase the likelihood that an answeringterminal at which the call was answered will be a subsequent terminal towhich a subsequent call will be routed first.
 6. A method as claimed inclaim 1, comprising the step of: when the call has been answered,modifying the set of weighting parameters to increase a likelihood thatan answering terminal at which the call was answered will be asubsequent terminal to which a subsequent call having at least oneparameter in common with the call will be routed first.
 7. A method asclaimed in claim 6, wherein the at least one of the weighting parametersindicates whether a plurality of calls fall within a predetermined timeperiod.
 8. A method as claimed in claim 5, wherein an extent to whichthe set of weighting parameters are modified is dependant on a delay,wherein the delay is defined as a time period from when the call isrouted to the terminal to when the call is answered by the terminal. 9.A method as claimed in claim 1, comprising the step of: when the callhas been redirected from the at least one of the plurality of terminalsto another terminals modifying the set of weighting parameters toincrease a likelihood that a subsequent terminal to which the call wasredirected will be a next terminal to which a subsequent call will berouted first.
 10. A method as claimed in claim 1, wherein the set ofweighting parameters are at least partially determined on a basis ofdata provided to a system by the subscriber.
 11. A method as claimed inclaim 10, wherein the data provided to the system by the subscriber isprovided in a format representing a form.
 12. A method as claimed inclaim 1, wherein the set of weighting parameters express a plurality ofconditional rules determining the order in which the call is to berouted to the plurality of terminals.
 13. A method as claimed in claim1, wherein the set of weighting parameters are neural network weightingparameters and the determining step is performed by neural networkprocessing of the set of weighting parameters.
 14. A method as claimedin claim 1, wherein the call is routed by a SIP protocol means.
 15. Amethod as claimed in claim 1, comprising terminating the call once thecall has been routed to all the terminals of the plurality of terminals.16. A method as claimed in claim 1, wherein the step of routing the callto the plurality of terminals comprises routing the call to one of theplurality of terminals, waiting for a predetermined period of time forthe call to be answered at the one of the plurality of terminals andthen routing the call to a next terminal in the order.
 17. A method asclaimed in claim 1, wherein if the weighting parameters indicate anequal priority for two or more of the terminals the step of routing thecall to the terminals comprises the step of routing the call in parallelto all of those terminals.
 18. A method as claimed in claim 1, whereinthe determining of the order is performed by fuzzy logic processing. 19.A communication system comprising: a plurality of terminals associatedwith a single subscriber identity; and a network comprising: a routerarranged to receive a request to establish a call from a first terminalto the subscriber identity; a routing logic unit arranged to retrievefrom a subscriber information store a set of weighting parameters foruse with the subscriber identity, there being at least one weightingparameter associated with each of the plurality of terminals associatedwith the subscriber; and to determine an order in which to route thecall to the plurality of terminals based on the set of weightingparameters; and to control the router to route the call to the pluralityof terminals according to the order until the call is answered by one ofthe plurality of terminals, wherein the at least one of the plurality ofterminals that is associated with the subscriber is additionallyassociated with at least one weighting parameter in correspondence withanother item of data, and wherein the item of data represents a type ofcall.
 20. A method for routing calls in a communication system, themethod comprising: receiving a request to establish a call from a firstterminal to a subscriber identity; retrieving from a subscriberinformation store a list of a plurality of terminals associated with thesubscriber identity; transmitting the list to the first terminal;receiving a message from the first terminal indicating an order in whichthe call is to be routed to at least two of the plurality of terminalsin the list; and routing the call to the plurality of terminals inaccordance with the indicated order, wherein the calls are routed in acommunication system including a network and a plurality of terminalsassociated with a single subscriber identity.
 21. A communicationterminal comprising: an address store for storing addresses of otherterminals; a user interface for presenting the addresses to a userwhereby the user can select one of the addresses for originating a callto that address; and a user interface controller for controlling theuser interface to set the order in which the addresses are presented tothe user, the user interface controller comprising a fuzzy logicprocessing arrangement arranged to correlate the addresses to whichcalls are originated with at least one other parameter and to set theorder based on the result of that correlation, wherein the communicationterminal is capable of originating calls to other terminals.
 22. Acommunication terminal as claimed in claim 21, wherein another parameteris at least one of: a time of day, a day of a week and a location of theterminal.
 23. A routing control unit for a communication systemcomprising: a plurality of terminals associated with a single subscriberidentity; and a network comprising: a router arranged to receive arequest to establish a call from a first terminal to the subscriberidentity; and a routing logic unit arranged to retrieve from asubscriber information store a set of weighting parameters for use withthe subscriber identity, there being at least one weighting parameterassociated with each of the plurality of terminals associated with thesubscriber; and to determine an order in which to route the call to theplurality of terminals based on the set of weighting parameters; and tocontrol the router to route the call to the plurality of terminalsaccording to the order until the call is answered by at least one of theplurality of terminals; the routing control unit being arranged to setthe set of weighting parameters in dependence on past answering of callsby the plurality of terminals, wherein the at least one of the pluralityof terminals associated with the subscriber is additionally associatedwith at least one weighting parameter in correspondence with anotheritem of data, and wherein the item of data represents a type of call.24. A communication terminal comprising: storage means for storingaddresses of other terminals; presenting means for presenting theaddresses to a user whereby the user can select one of the addresses fororiginating a call to that address; and controlling means forcontrolling the user interface to set the order in which the addressesare presented to the user, the user interface controller comprising afuzzy logic processing arrangement arranged to correlate the addressesto which calls are originated with at least one other parameter and toset the order based on the result of that correlation.